package java44th.group.service.admin.coupon;

import java44th.group.bean.admin.bo.coupon.CouponCreateBo;
import java44th.group.bean.admin.bo.coupon.CouponListBo;
import java44th.group.bean.admin.bo.coupon.CouponUserListBo;
import java44th.group.bean.po.MarketCoupon;
import java44th.group.bean.admin.vo.coupon.CouponListVo;
import java44th.group.bean.admin.vo.coupon.CouponUserListVo;

/**
 * @Aurhor: 帅的一批
 * @CreateAt: 2022/10/12 16:15
 * @Description:
 * @PACKAGE_NAME： java44th.group.service.admin.coupon.CouponService
 */
public interface CouponService {
    /**
     * 获取优惠券列表
     * @param couponListBo
     * @return
     *
     */
    CouponListVo getCouponList(CouponListBo couponListBo);

    /**
     * 新增一个优惠券
     * @param
     * @return
     * 1. null 返回异常 插入失败
     * 2. 非null 插入成功
     */
    MarketCoupon createCoupon(CouponCreateBo couponCreateBo);

    /**
     * 更新优惠券信息
     * @param marketCoupon
     * @return
     *  1.null 修改失败
     *  2.非null 修改成功
     */
    MarketCoupon updateCoupon(MarketCoupon marketCoupon);

    /**
     * 通过优惠券id查询一条优惠券信息
     * @param id
     * @return
     *
     */
    MarketCoupon getCouponById(Integer id);

    /**
     * 查询用户拥有的优惠券 查询 couponUser表
     * @param couponUserListBo
     * @return
     */
    CouponUserListVo getCouponUserList(CouponUserListBo couponUserListBo);

    void deleteCouponById(int id);
}
